package com.ruoyi.profession.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 人员基本信息对象 basic_info
 *
 */
public class BasicInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Long id;

    /** 照片 */
    @Excel(name = "照片")
    private String photo;

    /** 身份证正面扫描 */
    @Excel(name = "身份证正面扫描")
    private String idcardFront;

    /** 身份证反面扫描 */
    @Excel(name = "身份证反面扫描")
    private String idcardBack;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 性别（0女 1男） */
    @Excel(name = "性别", readConverterExp = "0=女,1=男")
    private Long gender;

    /** 民族 */
    @Excel(name = "民族")
    private String nation;

    /** 曾用名 */
    @Excel(name = "曾用名")
    private String usedName;

    /** 身份证号（可校对位数） */
    @Excel(name = "身份证号", readConverterExp = "可=校对位数")
    private String idcard;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birth;

    /** 籍贯 */
    @Excel(name = "籍贯")
    private String nativePlace;

    /** 住址 */
    @Excel(name = "住址")
    private String address;

    /** 电话 */
    @Excel(name = "电话")
    private String phone;

    /** 政治面貌（0群众 1团员 2党员） */
    @Excel(name = "政治面貌", readConverterExp = "0=群众,1=团员,2=党员")
    private Long political;

    /** 第一学历（0高中 1大专 2本科 3硕士 4博士） */
    @Excel(name = "第一学历", readConverterExp = "0=高中,1=大专,2=本科,3=硕士,4=博士")
    private Long firstLevel;

    /** 第一学历毕业学校 */
    @Excel(name = "第一学历毕业学校")
    private String firstSchool;

    /** 第一学历毕业时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "第一学历毕业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date firstDate;

    /** 第一学历专业 */
    @Excel(name = "第一学历专业")
    private String firstMajor;

    /** 最高学历 */
    @Excel(name = "最高学历")
    private String lastLevel;

    /** 是否全日制(0 否 1是) */
    @Excel(name = "是否全日制(0 否 1是)")
    private Long isFulltime;

    /** 最高学历毕业学校 */
    @Excel(name = "最高学历毕业学校")
    private String lastSchool;

    /** 最高学历毕业时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最高学历毕业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastDate;

    /** 最高学历专业 */
    @Excel(name = "最高学历专业")
    private String lastMajor;

    /** 存档单位 */
    @Excel(name = "存档单位")
    private String archivesUnit;

    /** 档案编号 */
    @Excel(name = "档案编号")
    private String archivesNumber;

    /** 有无职称（0无  1有） */
    @Excel(name = "有无职称", readConverterExp = "0=无,1=有")
    private Long hasProfession;

    /** 有无证书 */
    @Excel(name = "有无证书", readConverterExp = "0=无,1=有")
    private Long hasCertificate;

    /** 有无获奖 */
    @Excel(name = "有无获奖", readConverterExp = "0=无,1=有")
    private Long hasAward;

    /** 有无专利 */
    @Excel(name = "有无专利", readConverterExp = "0=无,1=有")
    private Long hasPatent;

    /** 有无论文 */
    @Excel(name = "有无论文", readConverterExp = "0=无,1=有")
    private Long hasPaper;

    /** 有无论文 */
    @Excel(name = "有无进修", readConverterExp = "0=无,1=有")
    private Long hasStudy;


    /** 进修信息信息 */
    private List<EducationTraining> educationTrainingList;


    public List<EducationTraining> getEducationTrainingList()
    {
        return educationTrainingList;
    }

    public void setEducationTrainingList(List<EducationTraining> educationTrainingList)
    {
        this.educationTrainingList = educationTrainingList;
    }






    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPhoto(String photo) 
    {
        this.photo = photo;
    }

    public String getPhoto() 
    {
        return photo;
    }
    public void setIdcardFront(String idcardFront) 
    {
        this.idcardFront = idcardFront;
    }

    public String getIdcardFront() 
    {
        return idcardFront;
    }
    public void setIdcardBack(String idcardBack) 
    {
        this.idcardBack = idcardBack;
    }

    public String getIdcardBack() 
    {
        return idcardBack;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setGender(Long gender) 
    {
        this.gender = gender;
    }

    public Long getGender() 
    {
        return gender;
    }
    public void setNation(String nation) 
    {
        this.nation = nation;
    }

    public String getNation() 
    {
        return nation;
    }
    public void setUsedName(String usedName) 
    {
        this.usedName = usedName;
    }

    public String getUsedName() 
    {
        return usedName;
    }
    public void setIdcard(String idcard) 
    {
        this.idcard = idcard;
    }

    public String getIdcard() 
    {
        return idcard;
    }
    public void setBirth(Date birth) 
    {
        this.birth = birth;
    }

    public Date getBirth() 
    {
        return birth;
    }
    public void setNativePlace(String nativePlace) 
    {
        this.nativePlace = nativePlace;
    }

    public String getNativePlace() 
    {
        return nativePlace;
    }
    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setPolitical(Long political) 
    {
        this.political = political;
    }

    public Long getPolitical() 
    {
        return political;
    }
    public void setFirstLevel(Long firstLevel) 
    {
        this.firstLevel = firstLevel;
    }

    public Long getFirstLevel() 
    {
        return firstLevel;
    }
    public void setFirstSchool(String firstSchool) 
    {
        this.firstSchool = firstSchool;
    }

    public String getFirstSchool() 
    {
        return firstSchool;
    }
    public void setFirstDate(Date firstDate) 
    {
        this.firstDate = firstDate;
    }

    public Date getFirstDate() 
    {
        return firstDate;
    }
    public void setFirstMajor(String firstMajor) 
    {
        this.firstMajor = firstMajor;
    }

    public String getFirstMajor() 
    {
        return firstMajor;
    }
    public void setLastLevel(String lastLevel) 
    {
        this.lastLevel = lastLevel;
    }

    public String getLastLevel() 
    {
        return lastLevel;
    }
    public void setIsFulltime(Long isFulltime) 
    {
        this.isFulltime = isFulltime;
    }

    public Long getIsFulltime() 
    {
        return isFulltime;
    }
    public void setLastSchool(String lastSchool) 
    {
        this.lastSchool = lastSchool;
    }

    public String getLastSchool() 
    {
        return lastSchool;
    }
    public void setLastDate(Date lastDate) 
    {
        this.lastDate = lastDate;
    }

    public Date getLastDate() 
    {
        return lastDate;
    }
    public void setLastMajor(String lastMajor) 
    {
        this.lastMajor = lastMajor;
    }

    public String getLastMajor() 
    {
        return lastMajor;
    }
    public void setArchivesUnit(String archivesUnit) 
    {
        this.archivesUnit = archivesUnit;
    }

    public String getArchivesUnit() 
    {
        return archivesUnit;
    }
    public void setArchivesNumber(String archivesNumber) 
    {
        this.archivesNumber = archivesNumber;
    }

    public String getArchivesNumber() 
    {
        return archivesNumber;
    }
    public void setHasProfession(Long hasProfession) 
    {
        this.hasProfession = hasProfession;
    }

    public Long getHasProfession() 
    {
        return hasProfession;
    }
    public void setHasCertificate(Long hasCertificate) 
    {
        this.hasCertificate = hasCertificate;
    }

    public Long getHasCertificate() 
    {
        return hasCertificate;
    }
    public void setHasAward(Long hasAward) 
    {
        this.hasAward = hasAward;
    }

    public Long getHasAward() 
    {
        return hasAward;
    }
    public void setHasPatent(Long hasPatent) 
    {
        this.hasPatent = hasPatent;
    }

    public Long getHasPatent() 
    {
        return hasPatent;
    }
    public void setHasPaper(Long hasPaper) 
    {
        this.hasPaper = hasPaper;
    }

    public Long getHasPaper() 
    {
        return hasPaper;
    }

    public void setHasStudy(Long hasStudy)
    {
        this.hasStudy = hasStudy;
    }

    public Long getHasStudy()
    {
        return hasStudy;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("photo", getPhoto())
            .append("idcardFront", getIdcardFront())
            .append("idcardBack", getIdcardBack())
            .append("name", getName())
            .append("gender", getGender())
            .append("nation", getNation())
            .append("usedName", getUsedName())
            .append("idcard", getIdcard())
            .append("birth", getBirth())
            .append("nativePlace", getNativePlace())
            .append("address", getAddress())
            .append("phone", getPhone())
            .append("political", getPolitical())
            .append("firstLevel", getFirstLevel())
            .append("firstSchool", getFirstSchool())
            .append("firstDate", getFirstDate())
            .append("firstMajor", getFirstMajor())
            .append("lastLevel", getLastLevel())
            .append("isFulltime", getIsFulltime())
            .append("lastSchool", getLastSchool())
            .append("lastDate", getLastDate())
            .append("lastMajor", getLastMajor())
            .append("archivesUnit", getArchivesUnit())
            .append("archivesNumber", getArchivesNumber())
            .append("hasProfession", getHasProfession())
            .append("hasCertificate", getHasCertificate())
            .append("hasAward", getHasAward())
            .append("hasPatent", getHasPatent())
            .append("hasPaper", getHasPaper())
            .append("hasStudy", getHasStudy())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .append("educationTrainingList", getEducationTrainingList())
            .toString();
    }
}
